import Vue from 'vue'
import App from './App'
import store from '@/store/store.js'

// 因为小程序中无法使用axios，而wx.request功能过于简单，所以下载加强版网络请求包
import { $http } from '@escook/request-miniprogram'

//从网络请求包中引入$http请求对象
uni.$http = $http
// 设置请求根路径
uni.$http.baseUrl = "https://www.uinav.com"
//因为在其他的页面或组件中也要使用，所以要将$http对象挂载到全局对象下，在uni-app中，uni是全局对象

//配置网络请求基础地址，因为uni.$http为$http的引用，所以可以直接修改$http对象下的属性
uni.$http.beforeRequest = function(options) {
    //配置发起网络请求前的拦截功能
    uni.showLoading({
        title: '加载中...'
    })
	console.log(store);
	// 判断当前的请求是否有权限的接口
	if(options.url.indexOf('/my/') !== -1){
		options.header = {
			Authorization: store.state.m_user.token
		}
	}
}
uni.$http.afterRequest = function() {
    //配置网络请求完毕后的拦截功能
    uni.hideLoading()
}

// 封装弹框的方法
uni.$showMsg = function (title='数据请求失败',duration=3000) {
	uni.showToast({
		title,
		duration,
		icon :''
	})
	
}

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App,
	store
})
app.$mount()
